package com.sjd.mall.domain.dto.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sjd.mall.domain.dto.base.BaseGoodsVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 订单提交
 *
 * @author seer
 * @date 2022/1/12 23:58
 */
@ApiModel
@Data
public class WxOrderCreateResponseDTO {

    @ApiModelProperty(
            value = "id",
            required = true
    )
    private Long id;

    @ApiModelProperty(
            value = "订单号",
            required = true
    )
    private String orderNo;

    @ApiModelProperty(
            value = "订单状态",
            required = true
    )
    private Integer orderStatus;

    @ApiModelProperty(
            value = "订单状态标签",
            required = true
    )
    private String orderStatusLabel;

    @ApiModelProperty(
            value = "订单金额",
            required = true
    )
    private BigDecimal orderAmount;

    @ApiModelProperty(
            value = "下单时间",
            required = true
    )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime orderTime;

    @ApiModelProperty(
            value = "折扣金额",
            required = true
    )
    private BigDecimal discountAmount;

    @ApiModelProperty(
            value = "应付金额",
            required = true
    )
    private BigDecimal payableAmount;

    @ApiModelProperty(
            value = "支付截止时间",
            required = true
    )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime paymentDeadline;

    @ApiModelProperty(
            value = "收件人姓名",
            required = true
    )
    private String receiverName;

    @ApiModelProperty(
            value = "收件人手机",
            required = true
    )
    private String receiverMobile;

    @ApiModelProperty(
            value = "收件人地址",
            required = true
    )
    private String receiverAddress;

    @ApiModelProperty(
            value = "商品条目",
            required = true
    )
    private List<BaseGoodsVO> goodsItems;
}
